package pe.gob.osinergmin.service.impl;

import android.content.Context;

import pe.gob.osinergmin.bean.common.Usuario;
import pe.gob.osinergmin.dao.UsuarioDAO;
import pe.gob.osinergmin.dao.impl.UsuarioDAOImpl;
import pe.gob.osinergmin.service.UsuarioService;

public class UsuarioServiceImpl implements UsuarioService {

    private static UsuarioDAO usuarioDAO;

    private static UsuarioServiceImpl instance;

    public UsuarioServiceImpl(){
        super();
        this.usuarioDAO = UsuarioDAOImpl.getInstance();
    }

    public Usuario findUsuario(Context context) throws Exception{
        return usuarioDAO.findUsuario(context);
    }

    public void saveUsuarioToLocal(Context context, Usuario usuario) throws Exception{
        getUsuarioDAO().saveUsuarioToLocal(context, usuario);
    }

    public void deleteUsuarioFromLocal(Context context) throws Exception{
        getUsuarioDAO().deleteUsuarioFromLocal(context);
    }

    public void setUsuarioDAO(UsuarioDAO usuarioDAO){
        this.usuarioDAO = usuarioDAO;
    }

    public UsuarioDAO getUsuarioDAO(){
        return this.usuarioDAO;
    }

    public static UsuarioServiceImpl getInstance(){
        if(instance == null){
            instance = new UsuarioServiceImpl();
        }
        return instance;
    }
}
